#!/usr/bin/env sh
set -eu

case ${1:-} in
  '')
    . $(dirname $0)/util
    buildxCmd build \
      --target validate \
      --file ./hack/dockerfiles/vendor.Dockerfile \
      .
    ;;
  check)
    status="$(git status --porcelain -- go.mod go.sum vendor 2>/dev/null)"
    diffs=$(echo "$status" | grep -v '^[RAD] ' || true)
    if [ "$diffs" ]; then
      {
        set +x
        echo 'The result of "./hack/update-vendor" differs'
        echo
        echo "$diffs"
        echo
        echo 'Please vendor your package with "./hack/update-vendor"'
        echo
      } >&2
      exit 1
    fi
    echo 'Congratulations! All vendoring changes are done the right way.'
    ;;
esac
